package rmi.tree;

import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.ArrayList;

public interface SiteItf extends Remote {
	// envoie le message aux enfants
	public void sendToChildren(int idEmetteur, final byte[] message) throws RemoteException;
	
	// retourne le parent
	public SiteItf getParent() throws RemoteException;
	
	public void setParent(SiteItf parent) throws RemoteException;
	
	// retourne le tableau d'enfants
	public ArrayList<SiteItf> getChildren() throws RemoteException;
	
	public void setChildren(ArrayList<SiteItf> children) throws RemoteException;
	
	//retourne l'id du noeud
	public int getId() throws RemoteException;

	//modifie l'id du noeud
	public void setId(int id)throws RemoteException;
	
	// ajout d'un fils
	public boolean addChild(SiteItf child) throws RemoteException;
	
	// suppression d'un fils
	public void removeChild(SiteItf child) throws RemoteException;
	
}
